#九九乘法表打印
#P37048 （2021-3-23）

#end 参数取消末尾回车符，实现不换行

#format格式化参数：
# 数字	          格式	   输出	    描述
# 3.1415926	    {:.2f}	  3.14	    保留小数点后两位
# 3.1415926	    {:+.2f}	  3.14	    带符号保留小数点后两位
# -1	        {:+.2f}	  -1	    带符号保留小数点后两位
# 2.71828	    {:.0f}	  3	        不带小数
# 1000000	    {:,}	  1,000,000	以逗号分隔的数字格式
# 0.25	        {:.2%}	  25.00%	百分比格式
# 1000000000	{:.2e}	  1.00E+09	指数记法
# 25	        {0:b}	  11001	    转换成二进制
# 25	        {0:d}	  25	    转换成十进制
# 25	        {0:o}	  31	    转换成八进制
# 25	        {0:x}	  19	    转换成十六进制
# 5	            {:0>2}    05	    数字补零(填充左边, 宽度为2)
# 5	            {:x<4}	  5xxx	    数字补x (填充右边, 宽度为4)
# 10	        {:x^4}	  x10x	    数字补x (填充两边,优先左边, 宽度为4)
# 13	        {:10}	  13	    右对齐 (默认, 宽度为10)
# 13	        {:<10}	  13	    左对齐 (宽度为10)
# 13	        {:^10}	  13	    中间对齐 (宽度为10)



#左下三角

for i in range(1,10):
    for j in range(1,i+1):
        print('{} * {} ={:<10d}'.format(j,i,j*i),end='')
    print('\t')

#左上三角

for i in range(9,0,-1):
    for j in range(i,0,-1):
        print("{} * {} = {:<8d}".format(j,i,i*j),end='')
    print()


#右上三角

for i in range(1,10):
    for k in range(1,i):
        print(end="--------------")
        # print(end="************")
    for j in range(i,10):
        print("{} * {} = {:<6d}".format(i,j,i*j),end='')
    print()


#右下三角

for i in range(1,10):
    for j in range(1,10-i):
        print(end="***********")
    for k in range(1,i+1):
        print('{} * {} ={:<4d}'.format(i,k,i*k),end='')
    print('\n')



#倒三角

for i in range(1,10):
    for j in range(1,i):
        print(end='\t')
    for k in range(i,10):
        print('{} * {} = {}'.format(i,k,i*k),end='\t')
    print('\n')

# very good